The number of devices that can support multimedia content over networks, such as but not limited to wireless networks, is increasing significantly. With devices ranging from cellular phones to wirelessly enabled televisions and other devices, there is a challenge faced by content service providers to support multimedia delivery for a diverse set of devices. Perhaps the most significant challenge for multimedia delivery is the delivery of video data (video) due to the amount of information typically involved. For example, devices requesting multimedia data over wireless networks may vastly differ in terms of capabilities, such as screen resolution, supported frame rate, as well as supported bit rate. Content service providers are now faced with the challenging problem of enabling seamless and efficient delivery of video content to viewers using different platforms.
Some prior techniques that scale video for delivery encode and store various versions of the video at the server a priori and send the prepared video stream based on device capabilities. Another method is to use transcoding techniques to decode and re-encode the video before delivery. While both of these schemes can be supported currently, the increasing availability of video content and the greater diversity in device capabilities will make it difficult to continue using these methods in future video communication systems. Methods that store multiple versions at the server end suffer from the major drawbacks of needing significant content management and storage space. Transcoding techniques are costly in terms of the number of servers needed to support quick decoding and re-encoding of each video stream.
An alternative to these delivery systems includes recent work in scalable video coding. Recently, significant strides have been made in this area in improving coding efficiency and reducing decoder complexity. Such efforts have made scalability more feasible, and recent video standards have included some scalability features, such as quality scalability using fine-grained scalability in MPEG4, and well as spatio-temporal scalability in H.264/AVC, among other standards. These developments have provided the motivation for the Joint Video Team (JVT) to develop and standardize a more powerful video codec, the H.264/AVC Scalable Video Coding (SVC) Extension. This SVC Extension is a layered video codec that provides bit-stream scalability and allows video to be encoded once at the server in such a way that various scaled streams can be extracted and decoded from the single stream, without the need for re-encoding the video. Building on scaling techniques in previous video standards, SVC makes it possible to extract video scaled in multiple dimensions: spatial, temporal, and quality.
Although SVC provides a notable advantage over previous video standards, the penalty for this scalability comes in terms of the network delivery costs. Particularly, SVC may provide a solution by enabling devices with suitable techniques to extract video streams scaled to match their capabilities. However, SVC can be significantly bandwidth inefficient. Particularly, with SVC, the entire stream, allowing for video extraction at the highest possible quality, is sent over the network without regard for the capabilities of each receiving device. The present inventors have noted that by sending the highest possible quality stream over the network, irrespective of the capabilities of the end-devices and the network (including the network conditions), SVC can limit the number of devices being served and reduce the network's average quality satisfaction. Additionally, there is a cost for each device for processing and receiving the additional scalability layers unnecessarily, in terms of energy, processing power, and memory.